草庐IT

Android TalkBack 和 fragment 堆栈

全部标签

c++ - 堆栈独立的 c/c++ 蓝牙 api?

我想知道是否有适用于Windows(XP、Vista、7、x86和x64)的独立于堆栈的C/C++蓝牙API。我的目标是创建连接并通过蓝牙发送/接收一些时间关键数据。我的研究为我提供了以下选项,但对于这项任务而言存在劣势:Windows蓝牙套接字仅适用于微软蓝牙堆栈使用COM端口(CreateFile/ReadFile/...)比套接字选项慢,用户必须先连接到设备。使用依赖于堆栈的API这将需要检测使用的堆栈并为每个堆栈创建读/写函数。非常耗时,我不知道是否有可能支持所有堆栈编写KMDF驱动程序我考虑编写一个功能驱动程序来直接与应该独立于堆栈的蓝牙HCI驱动程序对话。这将非常耗时,因为

windows - 如何从小型转储中提取堆栈跟踪?

我有一大堆小型转储,这些小型转储是在应用程序运行期间通过MiniDumpWriteDump记录的。小型转储是在操作系统版本与我的开发机器不同的机器上创建的。现在我正在尝试编写一个程序,使用dbghelp.dll从小型转储中提取堆栈跟踪。我正在遍历MINIDUMP_MODULE_LIST并调用SymLoadModule64,但这无法从公共(public)符号服务器下载pdb(kernel32等)。如果我将“C:\Windows\System32”添加到符号路径,它会找到dll并下载符号,但当然它们与小型转储中的dll不匹配,因此结果无用。那么我该如何告诉dbghelp.dll下载并使用正

c++ - 如何在 Windows 中以编程方式从调用堆栈帧中读取函数参数?

我试图遍历调用堆栈帧并从中提取一些信息。我能够使用来自WinDBG的StackWalk64、SymGetSymFromAddr64和SymGetLineFromAddr64API提取文件名、行号和函数名。但是STACKFRAME64中的DWORD64Params[4]是StackWalk64的返回值,只支持回读4个64位来自帧的函数参数。更糟糕的是,在32位系统上,仅使用Params[4]的低32位,因此超过32位的单个参数需要两个或更多元素。typedefstruct_tagSTACKFRAME64{ADDRESS64AddrPC;ADDRESS64AddrReturn;ADDRES

windows - 如何在 Windows 中挂接 TCP 堆栈以嗅探和修改数据包?

我想为Windows编写数据包嗅探器和编辑器。我希望能够看到进入和离开我的系统的所有数据包的内容,并可能修改它们。任何语言都可以,但我希望它运行得足够快,不会给系统带来负担。我读过一些关于WinPcap的资料,但文档声称您不能使用WinPcap创建防火墙,因为它不能丢弃数据包。哪些工具可以帮助我编写此软件? 最佳答案 在那里,完成了:-)回到2000年,我的第一个Windows程序是filterhookdriver.我所做的是实现过​​滤器Hook驱动程序并编写一个用户空间应用程序,该应用程序准备了一个关于允许什么和禁止什么的过滤器

windows - 在 Windows 64 位上实现带有自定义堆栈的沙箱

我目前正在研究如何实现一个沙箱(类似于Google'sNaClproject),我可以在其中运行不受信任的x86代码(受限指令集),而不会损害我的其余进程。与NaCl不同,不受信任的代码不会在单独的进程中运行,而是在与主机应用程序相同的进程中运行。因此,一个关键步骤是让Windows的结构化异常处理正确,以便捕获错误(如无效内存访问或divby0)并在Windows杀死我的主机应用程序之前优雅地终止沙箱。(NaCl不会面临这些问题。沙箱是一个单独的进程,一旦出现错误就会被杀死。)此外,沙盒代码不应使用主机应用程序堆栈,而应在我自己分配的一些单独的“堆栈”上运行。正是这种组合(存在自定义

windows - Microsoft Detours 如何工作以及如何使用它来获取堆栈跟踪?

我是MicrosoftDetours的新手。我已经安装它来跟踪进程进行的系统调用。我运行以下从网上获得的命令syelogd.exe/qC:\Users\xxx\Desktop\log.txtwithdll.exe/d:traceapi.dllC:\ProgramFiles\Google\GoogleTalk\googletalk.exe我得到了日志文件。问题是我不完全明白这里发生了什么。弯路如何运作?它如何跟踪系统调用?我也不知道如何读取log.txt中的输出。这是log.txt中的一行20101221060413329291250.60:traceapi:001GetCurrentT

c - 如何在 C 中获取堆栈跟踪?

我知道没有标准的C函数可以执行此操作。我想知道在Windows和*nix上有什么技术可以做到这一点?(WindowsXP是我目前执行此操作最重要的操作系统。) 最佳答案 glibc提供了backtrace()函数。http://www.gnu.org/software/libc/manual/html_node/Backtraces.html 关于c-如何在C中获取堆栈跟踪?,我们在StackOverflow上找到一个类似的问题: https://stacko

javascript - 如何避免 Node.js & MongoDB & Redis 堆栈中的狗桩效应?

当某些缓存值过期或由于某种原因将生成新的缓存并且我们在不存在缓存时有巨大的流量时,MongoDB和响应时间将承受沉重的负载显着增加。这通常称为“狗桩效应”。创建缓存后一切正常。我知道这是一个非常普遍的问题,适用于所有使用数据库和缓存系统的Web应用程序。在Node.js&MongoDB&Redis堆栈中,应该怎么做才能避免狗桩效应?最佳做法和常见错误是什么? 最佳答案 防止狗堆积的一种相当成熟的方法是保持“锁”(例如在Redis中)以防止缓存填充逻辑多次触发。第一次调用fetcher(对于给定的内容),(为它)获取锁并设置为过期(例

c# - 如何在 C# 中锁定服务堆栈 Redis 列表

在c#中,使用服务栈redis,基于以下网址,https://github.com/ServiceStack/ServiceStack.Redis/wiki/RedisLocks要锁定字符串条目,使用以下方法。RedisClientobjRedisClient=newRedisClient...//redisworkingfineobjRedisClient.SetEntry("stringkey","abcd");using(objRedisClient.AcquireLock(strRedisKey)){objRedisClient.SetEntry("stringkey","ef

javascript - 使用 MEAN 堆栈查询关联模型

我正在尝试使用MEAN设置模型关联,其中Epic有很多任务。我首先创建Epic,然后在创建任务时关联它。与Epic关联的任务数据模型如下所示:task:{name:'myfirsttask',epic:{name:'Myfistepic',_id:52f511c605456ba4c936180d,__v:0},_id:52f511d605456ba4c936180e,__v:0}}在我的公共(public)EpicsController中,我试图查询具有当前Epic的ID的所有任务,但我没有太多运气。下面的查询返回所有任务,而不是与我的Epic关联的任务。Tasks.query({“e